package com.linkhub.oms.dao.mpservice;

import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.service.IService;
import com.linkhub.oms.common.enums.mp.PickUpOrderStatusEnum;
import com.linkhub.oms.entity.PickUpGoodsOrderEntity;

/**
 * <p>
 * 提货申请表 服务类
 * </p>
 *
 * @author echo
 * @since 2024-04-30
 */
public interface IPickUpGoodsOrderService extends IService<PickUpGoodsOrderEntity> {

    PickUpGoodsOrderEntity queryBySysEntryOrderCode(String sysEntryOrderCode);

    PickUpGoodsOrderEntity getOne(String sysEntryOrderCode, SFunction<PickUpGoodsOrderEntity, ?>... columns);

    void cancel(String sysEntryOrderCode);

    void changeState(String sysEntryOrderCode, PickUpOrderStatusEnum state);

    boolean changeState(String sysEntryOrderCode, PickUpOrderStatusEnum beforeState, PickUpOrderStatusEnum state);

    void updateNullById(Long id, SFunction<PickUpGoodsOrderEntity, ?>... columns);
}
